<template>
  <div ref="chart" style="width: 100%; height: 400px;"></div>
</template>

<script>
import * as echarts from 'echarts';

export default {
  data() {
  return {
    chart: null,
    // 其他数据...
  };
},
  props: {
    xAxisData: Array,
    seriesData: Array,
  },
  mounted() {
    this.renderChart();
  },
  watch: {
    xAxisData: 'renderChart',
    seriesData: 'renderChart',
  },
  methods: {
    renderChart() {
  // 检查是否已存在 chart 实例，如果存在则销毁
  if (this.chart) {
    this.chart.dispose(); // 销毁已有实例
  }

  // 创建新的 ECharts 实例并存储
  this.chart = echarts.init(this.$refs.chart);

  const option = {
    xAxis: {
      type: 'category',
      data: this.xAxisData,
    },
    yAxis: {
      type: 'value',
    },
    series: [{
      data: this.seriesData,
      type: 'bar', // 可以更改为 'line', 'pie' 等
    }],
  };

  this.chart.setOption(option);
},
  },
};
</script>
